import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { getWeekMonthQuarterYear } from '/@/utils';
import { ref, watch } from 'vue';
import { number } from 'vue-types';
//列表数据
export const columns: BasicColumn[] = [
  {
    title: 'id',
    align: 'center',
    dataIndex: 'id',
  },
  {
    title: '类型',
    align: 'center',
    dataIndex: 'serviceCategory',
    customRender: ({ text }) => {
      const dictValue = render.renderDict(text, 'service_category');
      // 判断是否有有效匹配（根据实际情况调整判断条件）
      return dictValue.children ? dictValue : text;
    },
  },
  {
    title: '接口名称',
    align: 'center',
    dataIndex: 'interfaceName',
  },
  {
    title: '创建时间',
    align: 'center',
    dataIndex: 'createTime',
  },
  //
  {
    title: '接口地址',
    align: 'center',
    width: 400,
    // 不绑定具体数据字段，通过customRender动态生成
    customRender: ({ record }) => {
      // 字段类
      if (record.serviceCategory === 1) {
        return '服务/xichang/sysDataService/queryDataById';
      } else if (record.serviceCategory === 3) {
        return '服务/xichang/sysDataService/queryBySql';
      } else if (record.interfaceName === '历史数据查询') {
        return '服务/xichang/sysDataService/queryDataHistory';
      } else if (record.interfaceName === '坐标数据查询') {
        return '服务/jeecg-boot/zbzh/zbzh/getAllYszb';
      } else if (record.serviceCategory === 2) {
        return record.needField;
      }
      // 其他类型可以显示默认值或空
      return '未知地址';
    },
  },
  /*  {
    title: '创建人',
    align: 'center',
    dataIndex: 'createBy',
  }, */
];
//查询数据
export const searchFormSchema: FormSchema[] = [];
//表单数据
export const formSchema: FormSchema[] = [
{
    label: '名称',
    field: 'rulesName',
    component: 'Input',
  },
{
    field: 'serviceCategory',
    label: '设备',
    component: 'JDictSelectTag',
    componentProps: ({ formModel }) => {
      return {
        dictCode: 'sys_device,device_name,id',
        onChange: () => {
          formModel.needField = '';
        },
      };
    },
  },
  {
    label: '规则',
    field: 'needField',
    component: 'InputTextArea',
    slot: 'needField'
  },
  {
    label: '结果',
    field: 'resultField',
    component: 'JSelectInput',
  },
  // TODO 主键隐藏字段，目前写死为ID
  {
    label: 'id',
    field: 'id',
    component: 'Input',
    show: false,
  },

];

// 高级查询数据
export const superQuerySchema = {
  needField: { title: '数据字段', order: 0, view: 'text', type: 'string' },
};

/**
 * 流程表单调用这个方法获取formSchema
 * @param param
 */
export function getBpmFormSchema(_formData): FormSchema[] {
  // 默认和原始表单保持一致 如果流程中配置了权限数据，这里需要单独处理formSchema
  return formSchema;
}
